package com.token.sysflow.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 流程知会消息
 * @author 代码创建
 */
public class FSysSendMessage extends AbstractTableBean {

    private int SysId; //租户ID
    private String SysAddTime; //创建时间
    private String SysAddUser; //创建人
    private String SysEditTime; //修改时间
    private String SysEditUser; //修改人
    private String Subject; //标题
    private String Message; //消息内容
    private String SendType; //发送类型
    private int Status; //状态(0未，1成功， 2失败)
    private String Org; //组织(公司、部门、岗位)
    private String UserId; //用户
    private String FlowId; //流程Id
    private String StepId; //环节Id

    public FSysSendMessage (IntegrateSql f){
        super(f,"F_Sys_SendMessage");
        this.setKeyName("MessageId");
    }

    public FSysSendMessage (IntegrateSql f,ResultSet rs) throws SQLException{
        super(f,"F_Sys_SendMessage");
        this.setKeyName("MessageId");
        this.initParamToRs(rs);
    }

    public FSysSendMessage (IntegrateSql f,String keyValue) throws SQLException{
        super(f,"F_Sys_SendMessage");
        this.setKeyName("MessageId");
        setCodePrepare(selectCodeById().toString());
        prepareSql.setPstValue(1, keyValue);
        ResultSet rs = executeQuery();
        if(rs.next()){
            initParamToRs(rs);
        }else{
            initParam();
        }
        rs.close();
    }

    @Override
    protected void initParam() {
        SysId = 0; //租户ID
        SysAddTime = ""; //创建时间
        SysAddUser = ""; //创建人
        SysEditTime = ""; //修改时间
        SysEditUser = ""; //修改人
        Subject = ""; //标题
        Message = ""; //消息内容
        SendType = ""; //发送类型
        Status = 0; //状态(0未，1成功， 2失败)
        Org = ""; //组织(公司、部门、岗位)
        UserId = ""; //用户
        FlowId = ""; //流程Id
        StepId = ""; //环节Id
    }


    public void initParamToRs(ResultSet rs) throws SQLException{
        SysId = rs.getInt("SysId"); //租户ID
        SysAddTime = rs.getString("SysAddTime"); //创建时间
        SysAddUser = rs.getString("SysAddUser"); //创建人
        SysEditTime = rs.getString("SysEditTime"); //修改时间
        SysEditUser = rs.getString("SysEditUser"); //修改人
        Subject = rs.getString("Subject"); //标题
        Message = rs.getString("Message"); //消息内容
        SendType = rs.getString("SendType"); //发送类型
        Status = rs.getInt("Status"); //状态(0未，1成功， 2失败)
        Org = rs.getString("Org"); //组织(公司、部门、岗位)
        UserId = rs.getString("UserId"); //用户
        FlowId = rs.getString("FlowId"); //流程Id
        StepId = rs.getString("StepId"); //环节Id
        this.setKeyId(rs.getString("MessageId"));
    }


    @Override
    protected int appendData() throws SQLException {
        int i = 1;
        prepareSql.setPstValue(i++,SysId); //租户ID
        prepareSql.setPstValue(i++,SysAddTime); //创建时间
        prepareSql.setPstValue(i++,SysAddUser); //创建人
        prepareSql.setPstValue(i++,SysEditTime); //修改时间
        prepareSql.setPstValue(i++,SysEditUser); //修改人
        prepareSql.setPstValue(i++,Subject); //标题
        prepareSql.setPstValue(i++,Message); //消息内容
        prepareSql.setPstValue(i++,SendType); //发送类型
        prepareSql.setPstValue(i++,Status); //状态(0未，1成功， 2失败)
        prepareSql.setPstValue(i++,Org); //组织(公司、部门、岗位)
        prepareSql.setPstValue(i++,UserId); //用户
        prepareSql.setPstValue(i++,FlowId); //流程Id
        prepareSql.setPstValue(i++,StepId); //环节Id
        return i;
    }


    @Override
    public Vector<String> getFields() {
        Vector<String> vec = new Vector<String>();
        vec.addElement("SysId"); //租户ID
        vec.addElement("SysAddTime"); //创建时间
        vec.addElement("SysAddUser"); //创建人
        vec.addElement("SysEditTime"); //修改时间
        vec.addElement("SysEditUser"); //修改人
        vec.addElement("Subject"); //标题
        vec.addElement("Message"); //消息内容
        vec.addElement("SendType"); //发送类型
        vec.addElement("Status"); //状态(0未，1成功， 2失败)
        vec.addElement("Org"); //组织(公司、部门、岗位)
        vec.addElement("UserId"); //用户
        vec.addElement("FlowId"); //流程Id
        vec.addElement("StepId"); //环节Id
        return vec;
    }


    /**
     * 设置租户ID
     * @param sysid
     */
    public void setSysId(int sysid){
        SysId = sysid;
    }
    /**
     * 获取SysId
     * @return 租户ID
     */
    public int getSysId(){
        return SysId;
    }

    /**
     * 设置创建时间
     * @param sysaddtime
     */
    public void setSysAddTime(String sysaddtime){
        SysAddTime = sysaddtime;
    }
    /**
     * 获取SysAddTime
     * @return 创建时间
     */
    public String getSysAddTime(){
        return SysAddTime;
    }

    /**
     * 设置创建人
     * @param sysadduser
     */
    public void setSysAddUser(String sysadduser){
        SysAddUser = sysadduser;
    }
    /**
     * 获取SysAddUser
     * @return 创建人
     */
    public String getSysAddUser(){
        return SysAddUser;
    }

    /**
     * 设置修改时间
     * @param sysedittime
     */
    public void setSysEditTime(String sysedittime){
        SysEditTime = sysedittime;
    }
    /**
     * 获取SysEditTime
     * @return 修改时间
     */
    public String getSysEditTime(){
        return SysEditTime;
    }

    /**
     * 设置修改人
     * @param sysedituser
     */
    public void setSysEditUser(String sysedituser){
        SysEditUser = sysedituser;
    }
    /**
     * 获取SysEditUser
     * @return 修改人
     */
    public String getSysEditUser(){
        return SysEditUser;
    }

    /**
     * 设置标题
     * @param subject
     */
    public void setSubject(String subject){
        Subject = subject;
    }
    /**
     * 获取Subject
     * @return 标题
     */
    public String getSubject(){
        return Subject;
    }

    /**
     * 设置消息内容
     * @param message
     */
    public void setMessage(String message){
        Message = message;
    }
    /**
     * 获取Message
     * @return 消息内容
     */
    public String getMessage(){
        return Message;
    }

    /**
     * 设置发送类型
     * @param sendtype
     */
    public void setSendType(String sendtype){
        SendType = sendtype;
    }
    /**
     * 获取SendType
     * @return 发送类型
     */
    public String getSendType(){
        return SendType;
    }

    /**
     * 设置状态(0未，1成功， 2失败)
     * @param status
     */
    public void setStatus(int status){
        Status = status;
    }
    /**
     * 获取Status
     * @return 状态(0未，1成功， 2失败)
     */
    public int getStatus(){
        return Status;
    }

    /**
     * 设置组织(公司、部门、岗位)
     * @param org
     */
    public void setOrg(String org){
        Org = org;
    }
    /**
     * 获取Org
     * @return 组织(公司、部门、岗位)
     */
    public String getOrg(){
        return Org;
    }

    /**
     * 设置用户
     * @param userid
     */
    public void setUserId(String userid){
        UserId = userid;
    }
    /**
     * 获取UserId
     * @return 用户
     */
    public String getUserId(){
        return UserId;
    }

    /**
     * 设置流程Id
     * @param flowid
     */
    public void setFlowId(String flowid){
        FlowId = flowid;
    }
    /**
     * 获取FlowId
     * @return 流程Id
     */
    public String getFlowId(){
        return FlowId;
    }

    /**
     * 设置环节Id
     * @param stepid
     */
    public void setStepId(String stepid){
        StepId = stepid;
    }
    /**
     * 获取StepId
     * @return 环节Id
     */
    public String getStepId(){
        return StepId;
    }

}
